package com.henau.domain;

import java.util.Date;
import java.util.Objects;

public class RoadLine {
    private int RoadLineID;//路线ID
    private String RoadLineOperatingType;//路线运营类型
    private String ManagementCompany;//疫情管理公司
    private String RoadLineName;//线路名称
    private String RoadLineType;//线路类型
    private String OfCompany;//所属公司
    private String RoadLineCondition;//线路状态
    private double UpsideLength;//上行路线长度
    private double DownsideLength;//下行路线长度
    private Date UpsideFirstTime;//上行首班发车时间
    private Date UpsideLastTime;//上行末班发车时间
    private Date DownsideFirstTime;//下行首班发车时间
    private Date DownsideLastTime;//下行末班发车时间

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        RoadLine roadLine = (RoadLine) o;
        return RoadLineID == roadLine.RoadLineID &&
                Double.compare(roadLine.UpsideLength, UpsideLength) == 0 &&
                Double.compare(roadLine.DownsideLength, DownsideLength) == 0 &&
                Objects.equals(RoadLineOperatingType, roadLine.RoadLineOperatingType) &&
                Objects.equals(ManagementCompany, roadLine.ManagementCompany) &&
                Objects.equals(RoadLineName, roadLine.RoadLineName) &&
                Objects.equals(RoadLineType, roadLine.RoadLineType) &&
                Objects.equals(OfCompany, roadLine.OfCompany) &&
                Objects.equals(RoadLineCondition, roadLine.RoadLineCondition) &&
                Objects.equals(UpsideFirstTime, roadLine.UpsideFirstTime) &&
                Objects.equals(UpsideLastTime, roadLine.UpsideLastTime) &&
                Objects.equals(DownsideFirstTime, roadLine.DownsideFirstTime) &&
                Objects.equals(DownsideLastTime, roadLine.DownsideLastTime);
    }

    @Override
    public int hashCode() {
        return Objects.hash(RoadLineID, RoadLineOperatingType, ManagementCompany, RoadLineName, RoadLineType, OfCompany, RoadLineCondition, UpsideLength, DownsideLength, UpsideFirstTime, UpsideLastTime, DownsideFirstTime, DownsideLastTime);
    }

    @Override
    public String toString() {
        return "RoadLine{" +
                "RoadLineID=" + RoadLineID +
                ", RoadLineOperatingType='" + RoadLineOperatingType + '\'' +
                ", ManagementCompany='" + ManagementCompany + '\'' +
                ", RoadLineName='" + RoadLineName + '\'' +
                ", RoadLineType='" + RoadLineType + '\'' +
                ", OfCompany='" + OfCompany + '\'' +
                ", RoadLineCondition='" + RoadLineCondition + '\'' +
                ", UpsideLength=" + UpsideLength +
                ", DownsideLength=" + DownsideLength +
                ", UpsideFirstTime=" + UpsideFirstTime +
                ", UpsideLastTime=" + UpsideLastTime +
                ", DownsideFirstTime=" + DownsideFirstTime +
                ", DownsideLastTime=" + DownsideLastTime +
                '}';
    }

    public int getRoadLineID() {
        return RoadLineID;
    }

    public void setRoadLineID(int roadLineID) {
        RoadLineID = roadLineID;
    }

    public String getRoadLineOperatingType() {
        return RoadLineOperatingType;
    }

    public void setRoadLineOperatingType(String roadLineOperatingType) {
        RoadLineOperatingType = roadLineOperatingType;
    }

    public String getManagementCompany() {
        return ManagementCompany;
    }

    public void setManagementCompany(String managementCompany) {
        ManagementCompany = managementCompany;
    }

    public String getRoadLineName() {
        return RoadLineName;
    }

    public void setRoadLineName(String roadLineName) {
        RoadLineName = roadLineName;
    }

    public String getRoadLineType() {
        return RoadLineType;
    }

    public void setRoadLineType(String roadLineType) {
        RoadLineType = roadLineType;
    }

    public String getOfCompany() {
        return OfCompany;
    }

    public void setOfCompany(String ofCompany) {
        OfCompany = ofCompany;
    }

    public String getRoadLineCondition() {
        return RoadLineCondition;
    }

    public void setRoadLineCondition(String roadLineCondition) {
        RoadLineCondition = roadLineCondition;
    }

    public double getUpsideLength() {
        return UpsideLength;
    }

    public void setUpsideLength(double upsideLength) {
        UpsideLength = upsideLength;
    }

    public double getDownsideLength() {
        return DownsideLength;
    }

    public void setDownsideLength(double downsideLength) {
        DownsideLength = downsideLength;
    }

    public Date getUpsideFirstTime() {
        return UpsideFirstTime;
    }

    public void setUpsideFirstTime(Date upsideFirstTime) {
        UpsideFirstTime = upsideFirstTime;
    }

    public Date getUpsideLastTime() {
        return UpsideLastTime;
    }

    public void setUpsideLastTime(Date upsideLastTime) {
        UpsideLastTime = upsideLastTime;
    }

    public Date getDownsideFirstTime() {
        return DownsideFirstTime;
    }

    public void setDownsideFirstTime(Date downsideFirstTime) {
        DownsideFirstTime = downsideFirstTime;
    }

    public Date getDownsideLastTime() {
        return DownsideLastTime;
    }

    public void setDownsideLastTime(Date downsideLastTime) {
        DownsideLastTime = downsideLastTime;
    }

    public RoadLine(int roadLineID, String roadLineOperatingType, String managementCompany, String roadLineName, String roadLineType, String ofCompany, String roadLineCondition, double upsideLength, double downsideLength, Date upsideFirstTime, Date upsideLastTime, Date downsideFirstTime, Date downsideLastTime) {
        RoadLineID = roadLineID;
        RoadLineOperatingType = roadLineOperatingType;
        ManagementCompany = managementCompany;
        RoadLineName = roadLineName;
        RoadLineType = roadLineType;
        OfCompany = ofCompany;
        RoadLineCondition = roadLineCondition;
        UpsideLength = upsideLength;
        DownsideLength = downsideLength;
        UpsideFirstTime = upsideFirstTime;
        UpsideLastTime = upsideLastTime;
        DownsideFirstTime = downsideFirstTime;
        DownsideLastTime = downsideLastTime;
    }

    public RoadLine(String roadLineOperatingType, String managementCompany, String roadLineName, String roadLineType, String ofCompany, String roadLineCondition, double upsideLength, double downsideLength, Date upsideFirstTime, Date upsideLastTime, Date downsideFirstTime, Date downsideLastTime) {
        RoadLineOperatingType = roadLineOperatingType;
        ManagementCompany = managementCompany;
        RoadLineName = roadLineName;
        RoadLineType = roadLineType;
        OfCompany = ofCompany;
        RoadLineCondition = roadLineCondition;
        UpsideLength = upsideLength;
        DownsideLength = downsideLength;
        UpsideFirstTime = upsideFirstTime;
        UpsideLastTime = upsideLastTime;
        DownsideFirstTime = downsideFirstTime;
        DownsideLastTime = downsideLastTime;
    }

    public RoadLine() {
    }
}
